Computing devices, such as notebook computers, personal data assistants (PDAs), and mobile handsets, have user interface devices, which are also known as human interface device (HID). One user interface device that has become more common is a touch-sensor pad. A basic notebook touch-sensor pad emulates the function of a personal computer (PC) mouse. A touch-sensor pad is typically embedded into a PC notebook for built-in portability. A touch-sensor pad replicates mouse x/y movement by using two defined axes which contain a collection of sensor elements that detect the position of a conductive object, such as a finger. Mouse right/left button clicks can be replicated by two mechanical buttons, located in the vicinity of the touchpad, or by tapping commands on the touch-sensor pad itself. The touch-sensor pad provides a user interface device for performing such functions as positioning a cursor, or selecting an item on a display. These touch-sensor pads may include multi-dimensional sensor arrays for detecting movement in multiple axes. The sensor array may include a one-dimensional sensor array, detecting movement in one axis. The sensor array may also be two dimensional, detecting movements in two axes.
Another user interface device that has become more common is a touch screen. Touch screens, also known as touchscreens, touch panels, or touchscreen panels are display overlays which are typically either pressure-sensitive (resistive), electrically-sensitive (capacitive), acoustically-sensitive (SAW—surface acoustic wave) or photo-sensitive (infra-red). The effect of such overlays allows a display to be used as an input device, removing the keyboard and/or the mouse as the primary input device for interacting with the display's content. Such displays can be attached to computers or, as terminals, to networks. There are a number of types of touch screen technology, such as optical imaging, resistive, surface wave, capacitive, infrared, dispersive signal, and strain gauge technologies. Touch screens have become familiar in retail settings, on point of sale systems, on ATMs, on mobile handsets, on game consoles, and on PDAs where a stylus is sometimes used to manipulate the graphical user interface (GUI) and to enter data.
FIG. 1A illustrates a conventional touch-sensor pad. The touch-sensor pad 100 includes a sensing surface 101 on which a conductive object may be used to position a cursor in the x- and y-axes, or to select an item on a display. Touch-sensor pad 100 may also include two buttons, left and right buttons 102 and 103, respectively. These buttons are typically mechanical buttons, and operate much like a left and right button on a mouse. These buttons permit a user to select items on a display or send other commands to the computing device.
FIG. 1B illustrates a conventional linear touch-sensor slider. The linear touch-sensor slider 110 includes a surface area on which a conductive object may be used to position a cursor in the x axis (or alternatively in the y-axis). The construct of touch-sensor slider 110 may be the same as that of touch-sensor pad 100. Touch-sensor slider 110 may include a one-dimensional sensor array. The slider structure may include one or more sensor elements that may be conductive traces. Each trace may be connected between a conductive line and a ground. By being in contact or in proximity on a particular portion of the slider structure, the capacitance between the conductive lines and ground varies and can be detected. The capacitance variation may be sent as a signal on the conductive line to a processing device. For example, by detecting the capacitance variation of each sensor element, the position of the changing capacitance can be pinpointed. In other words, it can be determined which sensor element has detected the presence of the conductive object, and it can also be determined the motion and/or the position of the conductive object over multiple sensor elements.
One difference between touch-sensor sliders and touch-sensor pads may be how the signals are processed after detecting the conductive objects. Another difference is that the touch-sensor slider is not necessarily used to convey absolute positional information of a conducting object (e.g., to emulate a mouse in controlling cursor positioning on a display) but, rather, may be used to actuate one or more functions associated with the sensing elements of the sensing device.
In addition to detecting motion of the conductive object in one or two axes to control cursor movement, these conventional touch-sensor pads have been designed to recognize gesture features. One conventional touch-sensor pad includes methods for recognizing gestures made by a conductive object on a touch-sensor pad, as taught by U.S. Pat. No. 6,380,931 to Gillespie et al. This conventional touch-sensor pad recognizes tapping, pushing, hopping, and zigzag gestures by analyzing the position, pressure, and movement of the conductive object on the sensor pad during the time of a suspected gesture, and sends signals to a host indicating the occurrence of these gestures.
This conventional touch-sensor pad includes a capacitive position sensing system, which determines the position of the conductive object, such as a finger, that is proximate to or touching a sensing surface. This conventional touch-sensor pad also obtains the finger pressure by summing the capacitances measured on sense lines. A finger is present if the pressure exceeds a suitable threshold value. The basic “tap” gesture is a quick tap of the finger on the pad. Such a tap, of short duration, involving little or no X or Y finger motion during the tap, is presented to the host as a brief click of the mouse button. If a multi-button mouse is simulated, the tap gesture may simulate a click of the “primary” mouse button, or the button to be simulated may be user-selectable using a shift key, control panel, or other known means. Two taps in rapid succession are presented to the host as a double click of the button. In general, multiple taps translate into multiple clicks.
In addition, because it is impossible to tell whether a finger stroke will be a valid tap while the finger is still down (as opposed to a cursor motion), this conventional touch-sensor pad, does not report a button click until the finger is lifted. This delay is not generally noticeable to the user since taps by definition are very brief strokes.
As described above, conventional touch-sensor pads use qualifiers, such as time, pressure, and motion, to determine gestures on the touch-sensor pad. For example, the conventional touch-sensor pad of U.S. Pat. No. 6,380,931 uses time, pressure, and motion to determine a tap gesture. If a finger stroke is less than a specified amount of time (e.g., TapTime), does not move outside a specified radius (e.g., TapRadius), and is applied such that the measured pressures is above a specified threshold (e.g., Ztap threshold) for at least some part of the stroke, a tap gesture is recognized. The conventional touch-sensor pad discerns the difference between normal track-sensor pad motion and a tap gesture using timing. A tap gesture is recognized when the time the conductive object is present on the touch-sensor pad is less than a reference amount of time; and conversely, a motion gesture is recognized (e.g., no tap gesture is recognized) when the time the conductive object is present on the touch-sensor pad is more than the reference amount of time.
FIG. 1C illustrates the timing of a tap gesture, as recognized by a conventional touch-sensor pad. As the conductive object is detected, the finger pressure 111 (e.g., Ztap) increases. The conductive object is present for time 113, which is less than the reference amount of time. Accordingly, the output signal 112, which represents the virtual button press signal, asserts a tap gesture 116 for a specified amount of time, time 114. FIG. 1C also illustrates the timing of a motion gesture. As the conductive object is detected, the finger pressure 111 increases. The conductive object is present for time 115, which is more than the reference amount of time. Accordingly, the output signal 112 does not send a tap gesture. Since no tap gesture is detected, and assuming that no other gesture is recognized, the touch-sensor pad recognizes the presence as a motion gesture.
FIG. 1D illustrates the timing of a drag gesture, as recognized by the conventional touch-sensor pad. To perform a drag gesture, the user taps once, quickly brining the finger back in contact with the touch-sensor pad, then moves the finger in a desired direction in the x/y plane of the pad. The drag gesture begins with a tap gesture, of which the finger pressure 111 is detected for an amount of time, time 124, which is less than a specified amount of time (e.g., TapTime). The output signal 112 goes high in response to this tap gesture. The finger is removed, and remains away from the touch-sensor pad for an amount of time, time 125, which is less than a second specified amount of time (e.g., DragTime). Then the finger returns to the touch-sensor pad and remains present for an amount of time, time 126, which is greater than a specified amount of time (e.g., TapTime). The output signal 112 remains high until the finger is removed from the touch-sensor pad at time 127.
FIG. 1E illustrates the timing of a double tap gesture, as recognized by the conventional touch-sensor pad. The double tap gesture starts out the same as the drag gestures of FIG. 1D with the time 118 that finger pressure 111 is present, being less than a specified amount of time (e.g., TapTime). The finger is removed for time 119, which is less than the than a second specified amount of time (e.g., DragTime), and then the finger returns to the touch-sensor pad and remains present for an amount of time, time 120, which is less than a specified amount of time (e.g., TapTime). Accordingly, the output signal 112 outputs a double tap gesture 123, which includes an extended time interval 122. The double tap gesture 123 may include a brief time period 121 after recognition of the tap, to allow two distinct clicks, rather than one long, run-together click to be seen by the host.
As mentioned above, the timing of the finger presence/absence is one of several factors which are used to discern the difference between normal motion gestures and the other gestures, such as tap, double tap, or drag gestures. As illustrated above with respect to FIGS. 1C-1E three or more time intervals are used to distinguish one type of gesture from another, and typical implementations use three or more separate times to measure these intervals. The states of the conventional touch-sensor pad change upon detection of presence or absence of the finger. For example, first time interval is started when the finger pressure 111 is above a certain threshold (e.g., Ztap), the second time interval starts when the finger is removed from the touch-sensor pad, and the third time interval starts when the finger returns to the touch-sensor pad (if at all). All of the time intervals start and stop upon detection of the presence or absence of the finger.
The use of three or more time periods in gesture recognition requires more timers in a circuit, such as a microcontroller unit, that implements the touch-sensor pad. In addition, the user is able to configure the touch-sensor pad to suit the user's preferences. Having three or more variables to adjust in tuning the function of the touch-sensor pad may be confusing, rendering the configuration feature less useful.